iT邦幫忙

2025 iThome 鐵人賽

DAY 30
1
Rust

用刷題來練RUST系列 第 30 篇

用刷題來練RUST Day30 總結目錄 &延伸

  • 分享至 

  • xImage
  •  

用刷題來練RUST主要分兩部分

  1. 熟悉Rust語言

  2. 資料結構與演算法

1. 熟悉Rust語言

Rust字串&str與String型別

Day 1 前言 & 字串 String

疊代器、迴圈

Day 2 疊代器Iterator & Match & 巨集Marco

所有權 & 借用檢查 模式配對

Day 3 collect & 所有權 ownership & 借用檢查 borrow check

Cargo & 模組 Modules

Day 6 Rust 模組Modules & 引用 use

智慧指標 & 裸指標 & 弱引用

Day20 Rust智慧指標

Day21 裸指標 raw point & unsafe

Day22 Double Linked List & Weak & Rust LinkedList

自定義結構 & 實作

Day17 如何自定義Priority Queue Top K比較方式

2. 資料結構與演算法

時間複雜度

Day 7 時間複雜度

字串處理

Day 1 前言 & 字串 String

Two points

Day 4 向量vector & Two Pointers

HashMap & HashSet

Day 5 HashMap HashSet

Stack

Day 8 堆疊 Stack

Day 9 用Stack 模擬特定字元處理 & 復原動作

Day 10 Stack 函式呼叫 & 遞迴

Day 11 stack 深度優先搜尋(Depth First Search)

Queue

Day 12 佇列 Queue

Day 13 Queue 廣度優先搜尋(Breadth First Search)

Day14 Queue事件處理與緩衝

Priority Queue

Day15 優先佇列 Priority Queue

Day16 Priority Queue Top K

Day17 如何自定義Priority Queue Top K比較方式

Day18 Priority Queue 多來源合併、多任務佇列

Linked List

Day19 Linked List 介紹

Day22 Double Linked List & Weak & Rust LinkedList

Binary Tree

Graph

延伸

Rust相關

  1. 函式語言(functional programming)

    在使用std::collections有用到許多跟functional programming相關的譬如HashMap中的

    hashmap.entry(num).and_modify(|count| *count+=1).or_insert(1);
    

    可以閱讀函式語言功能:疊代器與閉包

  2. 物件導向(Object-oriented programming,OOP)

    我們能在自定義結構與實作中發現,Rust 沒有 class,但 struct + impl 組合就等同於「類別 + 方法」。

    可以閱讀Rust 的物件導向程式設計特色

  3. 模式與配對

    在解題中常會使用 let Some(node)、while let Some(node),使用方法可以看模式與配對

DS 與 Algorithms相關

我們可以參考Roadmap.sh Data Structures & Algorithms,本次30天系列文主要集中在Basic、Tree、Graph Data Structures,如果要延伸閱讀下去可以參考

  1. Sorting Algorithms

  2. Search Algorithms

  3. AVL Trees、B Trees

  4. Graph 有權重的shortest path algorithm

  5. Problem Solving Techniques


上一篇
用刷題來練RUST Day29 Disjoint Set
系列文
用刷題來練RUST 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

2
Antonio
iT邦新手 1 級 ‧ 2025-10-12 20:05:21

恭喜完賽!!!

我要留言

立即登入留言